package org.iabako.shared.entity.enumeration;

import org.iabako.client.tools.Messages;

/**
 * Created by jose on 13/03/15.
 */
public enum NotificationType implements LabelEnum {

    //high warning
    newPastExpenses("notification_new_past_expenses", false, false, true),
    newPastInstallments("notification_new_past_installments", false, false, true),
    stockRupture("notification_stock_rupture", false, false, true),
    //low warning
    stockLowerThanLimit("notification_stock_lower_than_limit", false, true, false),
    //information
    futureInstallments("notification_future_past_installments", true, false, false),
    futureExpenses("notification_future_past_expenses", true, false, false),
    paymentRequest("notification_payment_request", true, false, false),
    birthday("notification_birthday", true, false, false);

    private String labelKey;
    private boolean information;
    private boolean lowWarning;
    private boolean highWarning;

    private NotificationType(String labelKey, boolean information, boolean lowWarning, boolean highWarning) {
        this.labelKey = labelKey;
        this.information = information;
        this.lowWarning = lowWarning;
        this.highWarning = highWarning;
    }

    public String getLabel() {
        return Messages.getLabel(labelKey);
    }

    public String getLabelKey() {
        return labelKey;
    }

    public boolean isInformation() {
        return information;
    }

    public boolean isLowWarning() {
        return lowWarning;
    }

    public boolean isHighWarning() {
        return highWarning;
    }
}
